package com.tanhua.dubbo.api;

import com.tanhua.model.domain.Report;

import java.util.List;

/**
 * 灵魂测试的数据层接口
 *
 * @author 李磊
 * @since 2022-01-14 13:45
 */

public interface ReportApi {


    /**
     * 说明:  插入一条新的报告数据
     *
     * @param report 对象封装
     * @author 李磊
     * @since 2022-01-14 17:55
     */
    void addReport(Report report);


    /**
     * 说明:  查询报告
     *
     * @param userId          用户id
     * @param questionnaireId 问卷id
     * @return com.tanhua.model.domain.Report
     * @author 李磊
     * @since 2022-01-15 15:51
     */
    Report findByUserId(Long userId, Long questionnaireId);

    /**
     * 说明:  查询分数范围内的所有报告
     *
     * @param maxScore 上限
     * @param minScore 下限
     * @return java.util.List<com.tanhua.model.domain.Report>
     * @author 李磊
     * @since 2022-01-15 20:45
     */
    List<Report> findByScore(int maxScore, int minScore);

    /**
     * 说明:  根据id进行报告查询
     *
     * @param reportId 报告id
     * @return com.tanhua.model.domain.Report
     * @author 李磊
     * @since 2022-01-15 22:16
     */
    Report findById(Long reportId);
}
